Many wireless communication systems, including those based on the Universal Mobile Telecommunications System (UMTS), employ scrambling codes. Scrambling codes (e.g., Gold codes) have pseudo-random characteristics and generally serve to distinguish the transmissions of one source from those of another source. For example, a radio network controller allocates different scrambling codes to different mobile terminals located in the same service area (i.e., cell). Allocated in this way, the scrambling codes distinguish the uplink communications transmitted by one mobile terminal from the uplink communications transmitted by another mobile terminal. Likewise, the radio network controller allocates different scrambling codes to different cells, in order to distinguish the downlink communications transmitted in one cell from the downlink communications transmitted in another cell.
Multi-carrier systems extend the use of scrambling codes to multiple carriers within the same cell. In a multi-carrier system, two or more separately modulated carriers in distinct frequency bands are simultaneously used to carry communications in a cell. Depending on the particular type of multi-carrier system, multiple carriers can be employed for carrying downlink communications, uplink communications, or both. In the downlink context, a radio network controller may allocate one scrambling code to each of multiple downlink carriers in the cell, where different downlink carriers may be allocated the same or different scrambling codes. In the uplink context, the radio network controller may allocate one or more scrambling codes to each of multiple mobile terminals in the cell, where different uplink carriers transmitted by any given mobile terminal may use the same or different scrambling codes.
The length of scrambling codes is conventionally quite long in order to better distinguish transmission sources from one another. In systems based on UMTS, for instance, the long scrambling code length is 38,400 chip periods, or equivalently one 10 millisecond radio frame. This long length advantageously serves to randomize any interference between different scrambling codes that might otherwise result due to periodic code cross correlation peaks.
At the same time, however, a long scrambling code length significantly contributes to the high complexity of advanced receivers (e.g., multi-user detection receivers in the uplink and multi-code/multi-stream detection receivers in the downlink). Indeed, such advanced receivers compute the cross correlations amongst many scrambling codes at many chip lags and many symbol lags. Because these cross correlations vary every symbol period, and because the long scrambling code length practically prohibits pre-computation of all required cross correlations, the receivers must compute the cross correlations at run-time. This computational burden frustrates the use of advanced receivers, despite their importance to the achievement of high data rates in wireless communication systems.